function detected_byte_sequence=blast_detection(method,h,h_hat,s,noise,v,rho,nt)

detected_byte_sequence=[];
for j=1:size(s,2)

v=noise*randn(size(v)) + j*noise*randn(size(v));
r=sqrt(rho/nt)*h*s(:,j) + v;
if(mod(j,5)==0)
j
end

%1=optimal detector, 2=null and cancellation, 3=null and cancellation with ordering 4=mmse nulling with ordering
if(method==1)
	s_tilde=sqrt(nt/rho)*inv(h_hat'*h_hat)*h_hat'*r;
	[s_hat,byte_signal] = sphere_detector_qpsk(h_hat,r,rho,nt,s_tilde);
elseif(method==2)
	[s_hat,byte_signal] = null_cancel(h_hat,r,rho,nt);
elseif(method==3)
	[s_hat,byte_signal] = null_cancel_order(h_hat,r,rho,nt);
elseif(method==4)
	[s_hat,byte_signal] = mmse_nulling(h_hat,r,rho,nt);
end

detected_byte_sequence=horzcat(detected_byte_sequence,byte_signal);


end